package org.springframework.beans.factory.config;

import java.lang.reflect.Constructor;

/**
 * @author:刘仁有
 * @desc:
 * @email:953506233@qq.com
 * @data:2019/12/12
 */
public abstract class InstantiationAwareBeanPostProcessorAdapter implements SmartInstantiationAwareBeanPostProcessor{
    /**SmartInstantiationAwareBeanPostProcessor**/
    public Constructor<?>[] determineCandidateConstructors(Class<?> beanClass, String beanName){
        return null;
    }
    public Object getEarlyBeanReference(Object bean, String beanName){
        return bean;
    }
    /**SmartInstantiationAwareBeanPostProcessor**/

    /***InstantiationAwareBeanPostProcessor***/
    public Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName){
        return null;
    }
    public boolean postProcessAfterInstantiation(Object bean, String beanName){
        return true;
    }
    public PropertyValue postProcessPropertyValue(PropertyValue pvs, Object bean, String beanName){
        return null;
    }
    /***InstantiationAwareBeanPostProcessor***/


    /**BeanPostProcessor**/
    public Object postProcessBeforeInitialization(Object bean, String beanName){
        return bean;
    }
    public Object postProcessAfterInitialization(Object bean, String beanName){
        return bean;
    }
    /**BeanPostProcessor**/

}
